import Koa from 'koa'
// 解析请求体
import KoaBody from 'koa-bodyparser'
// 引入同级 routes/index.js
const routes = require('./routes')

// 实例化koa
const app: Koa = new Koa()
// 解析request body
app.use(KoaBody())

app.use(async (ctx: Koa.DefaultContext, next: Koa.Next) => {
  // if (parseInt(ctx.status) === 404 ){
  //   ctx.throw(401, {
  //     code: 404,
  //     message: '404 NotFound'
  //   })
  // }
  
  // 这里一定要加await，否则后面再routes/services中使用await就会到404页面
  await next()
})

// routes
app.use(routes.routes())
app.use(routes.allowedMethods())

// 监听端口
app.listen(3002, () => {
  console.log('server is running at port 3002')
})